#pragma once

#include "Control_Text.h"
#include <functional>

namespace gui
{
	class Control_String : public Control_Text
	{
	public:
		typedef std::function< std::string() > CallbackGetString;

		Control_String(CallbackGetString NewCallbackGetValue, Vec<2, float> NewFontSize, ColorRGBA<unsigned char> NewForeColor, ColorRGBA<unsigned char> NewBackColor, Vec<2, float> NewPos, Vec<2, float> NewSize, Control_Menu* NewParentMenu, Host& NewParentHost);
		virtual ~Control_String(void);

	protected:
		virtual void Refresh();
		virtual void UpdateVerticesSlow(RendererComponent& Renderer);
		virtual void UpdateVerticesFix(RendererComponent& Renderer);

		CallbackGetString CallbackGetValue;
	};
}
